package com.cheer.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cheer.entity.ReferenceEntity;
import com.cheer.enums.RegisterStatusEnum;
import com.cheer.param.IdsParam;
import com.cheer.param.ReferenceInOrUpParam;
import com.cheer.vo.ReferenceDetailVO;
import com.cheer.vo.ReferenceListVO;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 台账信息表
 *
 * @author chufangzheng
 * @email 1280251739@qq.com
 * @date 2022-02-16 08:58:00
 */
public interface ReferenceService extends IService<ReferenceEntity> {

    public static final Integer maxStart = 3;

    void insert(ReferenceInOrUpParam referenceInOrUpParam);

    void update(ReferenceInOrUpParam referenceInOrUpParam);

    List<ReferenceListVO> list(Long applicantId);

    ReferenceDetailVO detail();

    ReferenceDetailVO detail(Long id);

    void topOrCancel(IdsParam idsParam);

    void confer(IdsParam idsParam);

    void postTsw(IdsParam idsParam);

    void deny(Long applicantId, Long accountId, Long adminOrgId, String cause);

    void save(ReferenceInOrUpParam referenceInOrUpParam);

    void updateOrg(Long accountId, Integer reviewType, Long joinReviewOrgId);

    List<ReferenceEntity> selectByRegisterStatus(RegisterStatusEnum provinceReview);

    Integer getReportedCount(String orgPath, String vintage);

    Integer getAwardCount(String orgPath, String vintage);

    ReferenceEntity getByAppIdAndVintage(Long applicantId, String vintage);

    ReferenceDetailVO detail(ReferenceEntity referenceEntity);

    List<ReferenceEntity> selectByRegisterStatusAndPost(RegisterStatusEnum provinceReview, Integer isPost);

}

